{\rtf1\ansi\ansicpg1253\deff0\deflang1032{\fonttbl{\f0\fswiss\fcharset161{\*\fname Arial;}Arial Greek;}}
{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\f0\fs20 /*\par
 * jQuery FlexSlider v2.1\par
 * http://www.woothemes.com/flexslider/\par
 *\par
 * Copyright 2012 WooThemes\par
 * Free to use under the GPLv2 license.\par
 * http://www.gnu.org/licenses/gpl-2.0.html\par
 *\par
 * Contributing author: Tyler Smith (@mbmufffin)\par
 */\par
\par
;(function ($) \{\par
\par
  //FlexSlider: Object Instance\par
  $.flexslider = function(el, options) \{\par
    var slider = $(el),\par
        vars = $.extend(\{\}, $.flexslider.defaults, options),\par
        namespace = vars.namespace,\par
        touch = ("ontouchstart" in window) || window.DocumentTouch && document instanceof DocumentTouch,\par
        eventType = (touch) ? "touchend" : "click",\par
        vertical = vars.direction === "vertical",\par
        reverse = vars.reverse,\par
        carousel = (vars.itemWidth > 0),\par
        fade = vars.animation === "fade",\par
        asNav = vars.asNavFor !== "",\par
        methods = \{\};\par
    \par
    // Store a reference to the slider object\par
    $.data(el, "flexslider", slider);\par
    \par
    // Privat slider methods\par
    methods = \{\par
      init: function() \{\par
        slider.animating = false;\par
        slider.currentSlide = vars.startAt;\par
        slider.animatingTo = slider.currentSlide;\par
        slider.atEnd = (slider.currentSlide === 0 || slider.currentSlide === slider.last);\par
        slider.containerSelector = vars.selector.substr(0,vars.selector.search(' '));\par
        slider.slides = $(vars.selector, slider);\par
        slider.container = $(slider.containerSelector, slider);\par
        slider.count = slider.slides.length;\par
        // SYNC:\par
        slider.syncExists = $(vars.sync).length > 0;\par
        // SLIDE:\par
        if (vars.animation === "slide") vars.animation = "swing";\par
        slider.prop = (vertical) ? "top" : "marginLeft";\par
        slider.args = \{\};\par
        // SLIDESHOW:\par
        slider.manualPause = false;\par
        // TOUCH/USECSS:\par
        slider.transitions = !vars.video && !fade && vars.useCSS && (function() \{\par
          var obj = document.createElement('div'),\par
              props = ['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];\par
          for (var i in props) \{\par
            if ( obj.style[ props[i] ] !== undefined ) \{\par
              slider.pfx = props[i].replace('Perspective','').toLowerCase();\par
              slider.prop = "-" + slider.pfx + "-transform";\par
              return true;\par
            \}\par
          \}\par
          return false;\par
        \}());\par
        // CONTROLSCONTAINER:\par
        if (vars.controlsContainer !== "") slider.controlsContainer = $(vars.controlsContainer).length > 0 && $(vars.controlsContainer);\par
        // MANUAL:\par
        if (vars.manualControls !== "") slider.manualControls = $(vars.manualControls).length > 0 && $(vars.manualControls);\par
        \par
        // RANDOMIZE:\par
        if (vars.randomize) \{\par
          slider.slides.sort(function() \{ return (Math.round(Math.random())-0.5); \});\par
          slider.container.empty().append(slider.slides);\par
        \}\par
        \par
        slider.doMath();\par
        \par
        // ASNAV:\par
        if (asNav) methods.asNav.setup();\par
        \par
        // INIT\par
        slider.setup("init");\par
        \par
        // CONTROLNAV:\par
        if (vars.controlNav) methods.controlNav.setup();\par
        \par
        // DIRECTIONNAV:\par
        if (vars.directionNav) methods.directionNav.setup();\par
        \par
        // KEYBOARD:\par
        if (vars.keyboard && ($(slider.containerSelector).length === 1 || vars.multipleKeyboard)) \{\par
          $(document).bind('keyup', function(event) \{\par
            var keycode = event.keyCode;\par
            if (!slider.animating && (keycode === 39 || keycode === 37)) \{\par
              var target = (keycode === 39) ? slider.getTarget('next') :\par
                           (keycode === 37) ? slider.getTarget('prev') : false;\par
              slider.flexAnimate(target, vars.pauseOnAction);\par
            \}\par
          \});\par
        \}\par
        // MOUSEWHEEL:\par
        if (vars.mousewheel) \{\par
          slider.bind('mousewheel', function(event, delta, deltaX, deltaY) \{\par
            event.preventDefault();\par
            var target = (delta < 0) ? slider.getTarget('next') : slider.getTarget('prev');\par
            slider.flexAnimate(target, vars.pauseOnAction);\par
          \});\par
        \}\par
        \par
        // PAUSEPLAY\par
        if (vars.pausePlay) methods.pausePlay.setup();\par
        \par
        // SLIDSESHOW\par
        if (vars.slideshow) \{\par
          if (vars.pauseOnHover) \{\par
            slider.hover(function() \{\par
              if (!slider.manualPlay && !slider.manualPause) slider.pause();\par
            \}, function() \{\par
              if (!slider.manualPause && !slider.manualPlay) slider.play();\par
            \});\par
          \}\par
          // initialize animation\par
          (vars.initDelay > 0) ? setTimeout(slider.play, vars.initDelay) : slider.play();\par
        \}\par
        \par
        // TOUCH\par
        if (touch && vars.touch) methods.touch();\par
        \par
        // FADE&&SMOOTHHEIGHT || SLIDE:\par
        if (!fade || (fade && vars.smoothHeight)) $(window).bind("resize focus", methods.resize);\par
        \par
        \par
        // API: start() Callback\par
        setTimeout(function()\{\par
          vars.start(slider);\par
        \}, 200);\par
      \},\par
      asNav: \{\par
        setup: function() \{\par
          slider.asNav = true;\par
          slider.animatingTo = Math.floor(slider.currentSlide/slider.move);\par
          slider.currentItem = slider.currentSlide;\par
          slider.slides.removeClass(namespace + "active-slide").eq(slider.currentItem).addClass(namespace + "active-slide");\par
          slider.slides.click(function(e)\{\par
            e.preventDefault();\par
            var $slide = $(this),\par
                target = $slide.index();\par
            if (!$(vars.asNavFor).data('flexslider').animating && !$slide.hasClass('active')) \{\par
              slider.direction = (slider.currentItem < target) ? "next" : "prev";\par
              slider.flexAnimate(target, vars.pauseOnAction, false, true, true);\par
            \}\par
          \});\par
        \}\par
      \},\par
      controlNav: \{\par
        setup: function() \{\par
          if (!slider.manualControls) \{\par
            methods.controlNav.setupPaging();\par
          \} else \{ // MANUALCONTROLS:\par
            methods.controlNav.setupManual();\par
          \}\par
        \},\par
        setupPaging: function() \{\par
          var type = (vars.controlNav === "thumbnails") ? 'control-thumbs' : 'control-paging',\par
              j = 1,\par
              item;\par
          \par
          slider.controlNavScaffold = $('<ol class="'+ namespace + 'control-nav ' + namespace + type + '"></ol>');\par
          \par
          if (slider.pagingCount > 1) \{\par
            for (var i = 0; i < slider.pagingCount; i++) \{\par
              item = (vars.controlNav === "thumbnails") ? '<img src="' + slider.slides.eq(i).attr("data-thumb") + '"/>' : '<a>' + j + '</a>';\par
              slider.controlNavScaffold.append('<li>' + item + '</li>');\par
              j++;\par
            \}\par
          \}\par
          \par
          // CONTROLSCONTAINER:\par
          (slider.controlsContainer) ? $(slider.controlsContainer).append(slider.controlNavScaffold) : slider.append(slider.controlNavScaffold);\par
          methods.controlNav.set();\par
          \par
          methods.controlNav.active();\par
        \par
          slider.controlNavScaffold.delegate('a, img', eventType, function(event) \{\par
            event.preventDefault();\par
            var $this = $(this),\par
                target = slider.controlNav.index($this);\par
\par
            if (!$this.hasClass(namespace + 'active')) \{\par
              slider.direction = (target > slider.currentSlide) ? "next" : "prev";\par
              slider.flexAnimate(target, vars.pauseOnAction);\par
            \}\par
          \});\par
          // Prevent iOS click event bug\par
          if (touch) \{\par
            slider.controlNavScaffold.delegate('a', "click touchstart", function(event) \{\par
              event.preventDefault();\par
            \});\par
          \}\par
        \},\par
        setupManual: function() \{\par
          slider.controlNav = slider.manualControls;\par
          methods.controlNav.active();\par
          \par
          slider.controlNav.live(eventType, function(event) \{\par
            event.preventDefault();\par
            var $this = $(this),\par
                target = slider.controlNav.index($this);\par
                \par
            if (!$this.hasClass(namespace + 'active')) \{\par
              (target > slider.currentSlide) ? slider.direction = "next" : slider.direction = "prev";\par
              slider.flexAnimate(target, vars.pauseOnAction);\par
            \}\par
          \});\par
          // Prevent iOS click event bug\par
          if (touch) \{\par
            slider.controlNav.live("click touchstart", function(event) \{\par
              event.preventDefault();\par
            \});\par
          \}\par
        \},\par
        set: function() \{\par
          var selector = (vars.controlNav === "thumbnails") ? 'img' : 'a';\par
          slider.controlNav = $('.' + namespace + 'control-nav li ' + selector, (slider.controlsContainer) ? slider.controlsContainer : slider);\par
        \},\par
        active: function() \{\par
          slider.controlNav.removeClass(namespace + "active").eq(slider.animatingTo).addClass(namespace + "active");\par
        \},\par
        update: function(action, pos) \{\par
          if (slider.pagingCount > 1 && action === "add") \{\par
            slider.controlNavScaffold.append($('<li><a>' + slider.count + '</a></li>'));\par
          \} else if (slider.pagingCount === 1) \{\par
            slider.controlNavScaffold.find('li').remove();\par
          \} else \{\par
            slider.controlNav.eq(pos).closest('li').remove();\par
          \}\par
          methods.controlNav.set();\par
          (slider.pagingCount > 1 && slider.pagingCount !== slider.controlNav.length) ? slider.update(pos, action) : methods.controlNav.active();\par
        \}\par
      \},\par
      directionNav: \{\par
        setup: function() \{\par
          var directionNavScaffold = $('<ul class="' + namespace + 'direction-nav"><li><a class="' + namespace + 'prev" href="#">' + vars.prevText + '</a></li><li><a class="' + namespace + 'next" href="#">' + vars.nextText + '</a></li></ul>');\par
        \par
          // CONTROLSCONTAINER:\par
          if (slider.controlsContainer) \{\par
            $(slider.controlsContainer).append(directionNavScaffold);\par
            slider.directionNav = $('.' + namespace + 'direction-nav li a', slider.controlsContainer);\par
          \} else \{\par
            slider.append(directionNavScaffold);\par
            slider.directionNav = $('.' + namespace + 'direction-nav li a', slider);\par
          \}\par
        \par
          methods.directionNav.update();\par
        \par
          slider.directionNav.bind(eventType, function(event) \{\par
            event.preventDefault();\par
            var target = ($(this).hasClass(namespace + 'next')) ? slider.getTarget('next') : slider.getTarget('prev');\par
            slider.flexAnimate(target, vars.pauseOnAction);\par
          \});\par
          // Prevent iOS click event bug\par
          if (touch) \{\par
            slider.directionNav.bind("click touchstart", function(event) \{\par
              event.preventDefault();\par
            \});\par
          \}\par
        \},\par
        update: function() \{\par
          var disabledClass = namespace + 'disabled';\par
          if (slider.pagingCount === 1) \{\par
            slider.directionNav.addClass(disabledClass);\par
          \} else if (!vars.animationLoop) \{\par
            if (slider.animatingTo === 0) \{\par
              slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "prev").addClass(disabledClass);\par
            \} else if (slider.animatingTo === slider.last) \{\par
              slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "next").addClass(disabledClass);\par
            \} else \{\par
              slider.directionNav.removeClass(disabledClass);\par
            \}\par
          \} else \{\par
            slider.directionNav.removeClass(disabledClass);\par
          \}\par
        \}\par
      \},\par
      pausePlay: \{\par
        setup: function() \{\par
          var pausePlayScaffold = $('<div class="' + namespace + 'pauseplay"><a></a></div>');\par
        \par
          // CONTROLSCONTAINER:\par
          if (slider.controlsContainer) \{\par
            slider.controlsContainer.append(pausePlayScaffold);\par
            slider.pausePlay = $('.' + namespace + 'pauseplay a', slider.controlsContainer);\par
          \} else \{\par
            slider.append(pausePlayScaffold);\par
            slider.pausePlay = $('.' + namespace + 'pauseplay a', slider);\par
          \}\par
\par
          methods.pausePlay.update((vars.slideshow) ? namespace + 'pause' : namespace + 'play');\par
\par
          slider.pausePlay.bind(eventType, function(event) \{\par
            event.preventDefault();\par
            if ($(this).hasClass(namespace + 'pause')) \{\par
              slider.manualPause = true;\par
              slider.manualPlay = false;\par
              slider.pause();\par
            \} else \{\par
              slider.manualPause = false;\par
              slider.manualPlay = true;\par
              slider.play();\par
            \}\par
          \});\par
          // Prevent iOS click event bug\par
          if (touch) \{\par
            slider.pausePlay.bind("click touchstart", function(event) \{\par
              event.preventDefault();\par
            \});\par
          \}\par
        \},\par
        update: function(state) \{\par
          (state === "play") ? slider.pausePlay.removeClass(namespace + 'pause').addClass(namespace + 'play').text(vars.playText) : slider.pausePlay.removeClass(namespace + 'play').addClass(namespace + 'pause').text(vars.pauseText);\par
        \}\par
      \},\par
      touch: function() \{\par
        var startX,\par
          startY,\par
          offset,\par
          cwidth,\par
          dx,\par
          startT,\par
          scrolling = false;\par
              \par
        el.addEventListener('touchstart', onTouchStart, false);\par
        function onTouchStart(e) \{\par
          if (slider.animating) \{\par
            e.preventDefault();\par
          \} else if (e.touches.length === 1) \{\par
            slider.pause();\par
            // CAROUSEL: \par
            cwidth = (vertical) ? slider.h : slider. w;\par
            startT = Number(new Date());\par
            // CAROUSEL:\par
            offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :\par
                     (carousel && reverse) ? slider.limit - (((slider.itemW + vars.itemMargin) * slider.move) * slider.animatingTo) :\par
                     (carousel && slider.currentSlide === slider.last) ? slider.limit :\par
                     (carousel) ? ((slider.itemW + vars.itemMargin) * slider.move) * slider.currentSlide : \par
                     (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;\par
            startX = (vertical) ? e.touches[0].pageY : e.touches[0].pageX;\par
            startY = (vertical) ? e.touches[0].pageX : e.touches[0].pageY;\par
\par
            el.addEventListener('touchmove', onTouchMove, false);\par
            el.addEventListener('touchend', onTouchEnd, false);\par
          \}\par
        \}\par
\par
        function onTouchMove(e) \{\par
          dx = (vertical) ? startX - e.touches[0].pageY : startX - e.touches[0].pageX;\par
          scrolling = (vertical) ? (Math.abs(dx) < Math.abs(e.touches[0].pageX - startY)) : (Math.abs(dx) < Math.abs(e.touches[0].pageY - startY));\par
          \par
          if (!scrolling || Number(new Date()) - startT > 500) \{\par
            e.preventDefault();\par
            if (!fade && slider.transitions) \{\par
              if (!vars.animationLoop) \{\par
                dx = dx/((slider.currentSlide === 0 && dx < 0 || slider.currentSlide === slider.last && dx > 0) ? (Math.abs(dx)/cwidth+2) : 1);\par
              \}\par
              slider.setProps(offset + dx, "setTouch");\par
            \}\par
          \}\par
        \}\par
        \par
        function onTouchEnd(e) \{\par
          // finish the touch by undoing the touch session\par
          el.removeEventListener('touchmove', onTouchMove, false);\par
          \par
          if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) \{\par
            var updateDx = (reverse) ? -dx : dx,\par
                target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');\par
            \par
            if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth/2)) \{\par
              slider.flexAnimate(target, vars.pauseOnAction);\par
            \} else \{\par
              if (!fade) slider.flexAnimate(slider.currentSlide, vars.pauseOnAction, true);\par
            \}\par
          \}\par
          el.removeEventListener('touchend', onTouchEnd, false);\par
          startX = null;\par
          startY = null;\par
          dx = null;\par
          offset = null;\par
        \}\par
      \},\par
      resize: function() \{\par
        if (!slider.animating && slider.is(':visible')) \{\par
          if (!carousel) slider.doMath();\par
          \par
          if (fade) \{\par
            // SMOOTH HEIGHT:\par
            methods.smoothHeight();\par
          \} else if (carousel) \{ //CAROUSEL:\par
            slider.slides.width(slider.computedW);\par
            slider.update(slider.pagingCount);\par
            slider.setProps();\par
          \}\par
          else if (vertical) \{ //VERTICAL:\par
            slider.viewport.height(slider.h);\par
            slider.setProps(slider.h, "setTotal");\par
          \} else \{\par
            // SMOOTH HEIGHT:\par
            if (vars.smoothHeight) methods.smoothHeight();\par
            slider.newSlides.width(slider.computedW);\par
            slider.setProps(slider.computedW, "setTotal");\par
          \}\par
        \}\par
      \},\par
      smoothHeight: function(dur) \{\par
        if (!vertical || fade) \{\par
          var $obj = (fade) ? slider : slider.viewport;\par
          (dur) ? $obj.animate(\{"height": slider.slides.eq(slider.animatingTo).height()\}, dur) : $obj.height(slider.slides.eq(slider.animatingTo).height());\par
        \}\par
      \},\par
      sync: function(action) \{\par
        var $obj = $(vars.sync).data("flexslider"),\par
            target = slider.animatingTo;\par
        \par
        switch (action) \{\par
          case "animate": $obj.flexAnimate(target, vars.pauseOnAction, false, true); break;\par
          case "play": if (!$obj.playing && !$obj.asNav) \{ $obj.play(); \} break;\par
          case "pause": $obj.pause(); break;\par
        \}\par
      \}\par
    \}\par
    \par
    // public methods\par
    slider.flexAnimate = function(target, pause, override, withSync, fromNav) \{\par
      if (asNav && slider.pagingCount === 1) slider.direction = (slider.currentItem < target) ? "next" : "prev";\par
      \par
      if (!slider.animating && (slider.canAdvance(target, fromNav) || override) && slider.is(":visible")) \{\par
        if (asNav && withSync) \{\par
          var master = $(vars.asNavFor).data('flexslider');\par
          slider.atEnd = target === 0 || target === slider.count - 1;\par
          master.flexAnimate(target, true, false, true, fromNav);\par
          slider.direction = (slider.currentItem < target) ? "next" : "prev";\par
          master.direction = slider.direction;\par
          \par
          if (Math.ceil((target + 1)/slider.visible) - 1 !== slider.currentSlide && target !== 0) \{\par
            slider.currentItem = target;\par
            slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");\par
            target = Math.floor(target/slider.visible);\par
          \} else \{\par
            slider.currentItem = target;\par
            slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");\par
            return false;\par
          \}\par
        \}\par
        \par
        slider.animating = true;\par
        slider.animatingTo = target;\par
        // API: before() animation Callback\par
        vars.before(slider);\par
        \par
        // SLIDESHOW:\par
        if (pause) slider.pause();\par
        \par
        // SYNC:\par
        if (slider.syncExists && !fromNav) methods.sync("animate");\par
        \par
        // CONTROLNAV\par
        if (vars.controlNav) methods.controlNav.active();\par
        \par
        // !CAROUSEL:\par
        // CANDIDATE: slide active class (for add/remove slide)\par
        if (!carousel) slider.slides.removeClass(namespace + 'active-slide').eq(target).addClass(namespace + 'active-slide');\par
        \par
        // INFINITE LOOP:\par
        // CANDIDATE: atEnd\par
        slider.atEnd = target === 0 || target === slider.last;\par
        \par
        // DIRECTIONNAV:\par
        if (vars.directionNav) methods.directionNav.update();\par
        \par
        if (target === slider.last) \{\par
          // API: end() of cycle Callback\par
          vars.end(slider);\par
          // SLIDESHOW && !INFINITE LOOP:\par
          if (!vars.animationLoop) slider.pause();\par
        \}\par
        \par
        // SLIDE:\par
        if (!fade) \{\par
          var dimension = (vertical) ? slider.slides.filter(':first').height() : slider.computedW,\par
              margin, slideString, calcNext;\par
          \par
          // INFINITE LOOP / REVERSE:\par
          if (carousel) \{\par
            margin = (vars.itemWidth > slider.w) ? vars.itemMargin * 2 : vars.itemMargin;\par
            calcNext = ((slider.itemW + margin) * slider.move) * slider.animatingTo;\par
            slideString = (calcNext > slider.limit && slider.visible !== 1) ? slider.limit : calcNext;\par
          \} else if (slider.currentSlide === 0 && target === slider.count - 1 && vars.animationLoop && slider.direction !== "next") \{\par
            slideString = (reverse) ? (slider.count + slider.cloneOffset) * dimension : 0;\par
          \} else if (slider.currentSlide === slider.last && target === 0 && vars.animationLoop && slider.direction !== "prev") \{\par
            slideString = (reverse) ? 0 : (slider.count + 1) * dimension;\par
          \} else \{\par
            slideString = (reverse) ? ((slider.count - 1) - target + slider.cloneOffset) * dimension : (target + slider.cloneOffset) * dimension;\par
          \}\par
          slider.setProps(slideString, "", vars.animationSpeed);\par
          if (slider.transitions) \{\par
            if (!vars.animationLoop || !slider.atEnd) \{\par
              slider.animating = false;\par
              slider.currentSlide = slider.animatingTo;\par
            \}\par
            slider.container.unbind("webkitTransitionEnd transitionend");\par
            slider.container.bind("webkitTransitionEnd transitionend", function() \{\par
              slider.wrapup(dimension);\par
            \});\par
          \} else \{\par
            slider.container.animate(slider.args, vars.animationSpeed, vars.easing, function()\{\par
              slider.wrapup(dimension);\par
            \});\par
          \}\par
        \} else \{ // FADE:\par
          if (!touch) \{\par
            slider.slides.eq(slider.currentSlide).fadeOut(vars.animationSpeed, vars.easing);\par
            slider.slides.eq(target).fadeIn(vars.animationSpeed, vars.easing, slider.wrapup);\par
          \} else \{\par
            slider.slides.eq(slider.currentSlide).css(\{ "opacity": 0, "zIndex": 1 \});\par
            slider.slides.eq(target).css(\{ "opacity": 1, "zIndex": 2 \});\par
            slider.animating = false;\par
            slider.currentSlide = slider.animatingTo;\par
          \}\par
        \}\par
        // SMOOTH HEIGHT:\par
        if (vars.smoothHeight) methods.smoothHeight(vars.animationSpeed);\par
      \}\par
    \} \par
    slider.wrapup = function(dimension) \{\par
      // SLIDE:\par
      if (!fade && !carousel) \{\par
        if (slider.currentSlide === 0 && slider.animatingTo === slider.last && vars.animationLoop) \{\par
          slider.setProps(dimension, "jumpEnd");\par
        \} else if (slider.currentSlide === slider.last && slider.animatingTo === 0 && vars.animationLoop) \{\par
          slider.setProps(dimension, "jumpStart");\par
        \}\par
      \}\par
      slider.animating = false;\par
      slider.currentSlide = slider.animatingTo;\par
      // API: after() animation Callback\par
      vars.after(slider);\par
    \}\par
    \par
    // SLIDESHOW:\par
    slider.animateSlides = function() \{\par
      if (!slider.animating) slider.flexAnimate(slider.getTarget("next"));\par
    \}\par
    // SLIDESHOW:\par
    slider.pause = function() \{\par
      clearInterval(slider.animatedSlides);\par
      slider.playing = false;\par
      // PAUSEPLAY:\par
      if (vars.pausePlay) methods.pausePlay.update("play");\par
      // SYNC:\par
      if (slider.syncExists) methods.sync("pause");\par
    \}\par
    // SLIDESHOW:\par
    slider.play = function() \{\par
      slider.animatedSlides = setInterval(slider.animateSlides, vars.slideshowSpeed);\par
      slider.playing = true;\par
      // PAUSEPLAY:\par
      if (vars.pausePlay) methods.pausePlay.update("pause");\par
      // SYNC:\par
      if (slider.syncExists) methods.sync("play");\par
    \}\par
    slider.canAdvance = function(target, fromNav) \{\par
      // ASNAV:\par
      var last = (asNav) ? slider.pagingCount - 1 : slider.last;\par
      return (fromNav) ? true :\par
             (asNav && slider.currentItem === slider.count - 1 && target === 0 && slider.direction === "prev") ? true :\par
             (asNav && slider.currentItem === 0 && target === slider.pagingCount - 1 && slider.direction !== "next") ? false :\par
             (target === slider.currentSlide && !asNav) ? false :\par
             (vars.animationLoop) ? true :\par
             (slider.atEnd && slider.currentSlide === 0 && target === last && slider.direction !== "next") ? false :\par
             (slider.atEnd && slider.currentSlide === last && target === 0 && slider.direction === "next") ? false :\par
             true;\par
    \}\par
    slider.getTarget = function(dir) \{\par
      slider.direction = dir; \par
      if (dir === "next") \{\par
        return (slider.currentSlide === slider.last) ? 0 : slider.currentSlide + 1;\par
      \} else \{\par
        return (slider.currentSlide === 0) ? slider.last : slider.currentSlide - 1;\par
      \}\par
    \}\par
    \par
    // SLIDE:\par
    slider.setProps = function(pos, special, dur) \{\par
      var target = (function() \{\par
        var posCheck = (pos) ? pos : ((slider.itemW + vars.itemMargin) * slider.move) * slider.animatingTo,\par
            posCalc = (function() \{\par
              if (carousel) \{\par
                return (special === "setTouch") ? pos :\par
                       (reverse && slider.animatingTo === slider.last) ? 0 :\par
                       (reverse) ? slider.limit - (((slider.itemW + vars.itemMargin) * slider.move) * slider.animatingTo) :\par
                       (slider.animatingTo === slider.last) ? slider.limit : posCheck;\par
              \} else \{\par
                switch (special) \{\par
                  case "setTotal": return (reverse) ? ((slider.count - 1) - slider.currentSlide + slider.cloneOffset) * pos : (slider.currentSlide + slider.cloneOffset) * pos;\par
                  case "setTouch": return (reverse) ? pos : pos;\par
                  case "jumpEnd": return (reverse) ? pos : slider.count * pos;\par
                  case "jumpStart": return (reverse) ? slider.count * pos : pos;\par
                  default: return pos;\par
                \}\par
              \}\par
            \}());\par
            return (posCalc * -1) + "px";\par
          \}());\par
\par
      if (slider.transitions) \{\par
        target = (vertical) ? "translate3d(0," + target + ",0)" : "translate3d(" + target + ",0,0)";\par
        dur = (dur !== undefined) ? (dur/1000) + "s" : "0s";\par
        slider.container.css("-" + slider.pfx + "-transition-duration", dur);\par
      \}\par
      \par
      slider.args[slider.prop] = target;\par
      if (slider.transitions || dur === undefined) slider.container.css(slider.args);\par
    \}\par
    \par
    slider.setup = function(type) \{\par
      // SLIDE:\par
      if (!fade) \{\par
        var sliderOffset, arr;\par
            \par
        if (type === "init") \{\par
          slider.viewport = $('<div class="' + namespace + 'viewport"></div>').css(\{"overflow": "hidden", "position": "relative"\}).appendTo(slider).append(slider.container);\par
          // INFINITE LOOP:\par
          slider.cloneCount = 0;\par
          slider.cloneOffset = 0;\par
          // REVERSE:\par
          if (reverse) \{\par
            arr = $.makeArray(slider.slides).reverse();\par
            slider.slides = $(arr);\par
            slider.container.empty().append(slider.slides);\par
          \}\par
        \}\par
        // INFINITE LOOP && !CAROUSEL:\par
        if (vars.animationLoop && !carousel) \{\par
          slider.cloneCount = 2;\par
          slider.cloneOffset = 1;\par
          // clear out old clones\par
          if (type !== "init") slider.container.find('.clone').remove();\par
          slider.container.append(slider.slides.first().clone().addClass('clone')).prepend(slider.slides.last().clone().addClass('clone'));\par
        \}\par
        slider.newSlides = $(vars.selector, slider);\par
        \par
        sliderOffset = (reverse) ? slider.count - 1 - slider.currentSlide + slider.cloneOffset : slider.currentSlide + slider.cloneOffset;\par
        // VERTICAL:\par
        if (vertical && !carousel) \{\par
          slider.container.height((slider.count + slider.cloneCount) * 200 + "%").css("position", "absolute").width("100%");\par
          setTimeout(function()\{\par
            slider.newSlides.css(\{"display": "block"\});\par
            slider.doMath();\par
            slider.viewport.height(slider.h);\par
            slider.setProps(sliderOffset * slider.h, "init");\par
          \}, (type === "init") ? 100 : 0);\par
        \} else \{\par
          slider.container.width((slider.count + slider.cloneCount) * 200 + "%");\par
          slider.setProps(sliderOffset * slider.computedW, "init");\par
          setTimeout(function()\{\par
            slider.doMath();\par
            slider.newSlides.css(\{"width": slider.computedW, "float": "left", "display": "block"\});\par
            // SMOOTH HEIGHT:\par
            if (vars.smoothHeight) methods.smoothHeight();\par
          \}, (type === "init") ? 100 : 0);\par
        \}\par
      \} else \{ // FADE: \par
        slider.slides.css(\{"width": "100%", "float": "left", "marginRight": "-100%", "position": "relative"\});\par
        if (type === "init") \{\par
          if (!touch) \{\par
            slider.slides.eq(slider.currentSlide).fadeIn(vars.animationSpeed, vars.easing);\par
          \} else \{\par
            slider.slides.css(\{ "opacity": 0, "display": "block", "webkitTransition": "opacity " + vars.animationSpeed / 1000 + "s ease", "zIndex": 1 \}).eq(slider.currentSlide).css(\{ "opacity": 1, "zIndex": 2\});\par
          \}\par
        \}\par
        // SMOOTH HEIGHT:\par
        if (vars.smoothHeight) methods.smoothHeight();\par
      \}\par
      // !CAROUSEL:\par
      // CANDIDATE: active slide\par
      if (!carousel) slider.slides.removeClass(namespace + "active-slide").eq(slider.currentSlide).addClass(namespace + "active-slide");\par
    \}\par
    \par
    slider.doMath = function() \{\par
      var slide = slider.slides.first(),\par
          slideMargin = vars.itemMargin,\par
          minItems = vars.minItems,\par
          maxItems = vars.maxItems;\par
      \par
      slider.w = slider.width();\par
      slider.h = slide.height();\par
      slider.boxPadding = slide.outerWidth() - slide.width();\par
\par
      // CAROUSEL:\par
      if (carousel) \{\par
        slider.itemT = vars.itemWidth + slideMargin;\par
        slider.minW = (minItems) ? minItems * slider.itemT : slider.w;\par
        slider.maxW = (maxItems) ? maxItems * slider.itemT : slider.w;\par
        slider.itemW = (slider.minW > slider.w) ? (slider.w - (slideMargin * minItems))/minItems :\par
                       (slider.maxW < slider.w) ? (slider.w - (slideMargin * maxItems))/maxItems :\par
                       (vars.itemWidth > slider.w) ? slider.w : vars.itemWidth;\par
        slider.visible = Math.floor(slider.w/(slider.itemW + slideMargin));\par
        slider.move = (vars.move > 0 && vars.move < slider.visible ) ? vars.move : slider.visible;\par
        slider.pagingCount = Math.ceil(((slider.count - slider.visible)/slider.move) + 1);\par
        slider.last =  slider.pagingCount - 1;\par
        slider.limit = (slider.pagingCount === 1) ? 0 :\par
                       (vars.itemWidth > slider.w) ? ((slider.itemW + (slideMargin * 2)) * slider.count) - slider.w - slideMargin : ((slider.itemW + slideMargin) * slider.count) - slider.w - slideMargin;\par
      \} else \{\par
        slider.itemW = slider.w;\par
        slider.pagingCount = slider.count;\par
        slider.last = slider.count - 1;\par
      \}\par
      slider.computedW = slider.itemW - slider.boxPadding;\par
    \}\par
    \par
    slider.update = function(pos, action) \{\par
      slider.doMath();\par
      \par
      // update currentSlide and slider.animatingTo if necessary\par
      if (!carousel) \{\par
        if (pos < slider.currentSlide) \{\par
          slider.currentSlide += 1;\par
        \} else if (pos <= slider.currentSlide && pos !== 0) \{\par
          slider.currentSlide -= 1;\par
        \}\par
        slider.animatingTo = slider.currentSlide;\par
      \}\par
      \par
      // update controlNav\par
      if (vars.controlNav && !slider.manualControls) \{\par
        if ((action === "add" && !carousel) || slider.pagingCount > slider.controlNav.length) \{\par
          methods.controlNav.update("add");\par
        \} else if ((action === "remove" && !carousel) || slider.pagingCount < slider.controlNav.length) \{\par
          if (carousel && slider.currentSlide > slider.last) \{\par
            slider.currentSlide -= 1;\par
            slider.animatingTo -= 1;\par
          \}\par
          methods.controlNav.update("remove", slider.last);\par
        \}\par
      \}\par
      // update directionNav\par
      if (vars.directionNav) methods.directionNav.update();\par
      \par
    \}\par
    \par
    slider.addSlide = function(obj, pos) \{\par
      var $obj = $(obj);\par
      \par
      slider.count += 1;\par
      slider.last = slider.count - 1;\par
      \par
      // append new slide\par
      if (vertical && reverse) \{\par
        (pos !== undefined) ? slider.slides.eq(slider.count - pos).after($obj) : slider.container.prepend($obj);\par
      \} else \{\par
        (pos !== undefined) ? slider.slides.eq(pos).before($obj) : slider.container.append($obj);\par
      \}\par
      \par
      // update currentSlide, animatingTo, controlNav, and directionNav\par
      slider.update(pos, "add");\par
      \par
      // update slider.slides\par
      slider.slides = $(vars.selector + ':not(.clone)', slider);\par
      // re-setup the slider to accomdate new slide\par
      slider.setup();\par
      \par
      //FlexSlider: added() Callback\par
      vars.added(slider);\par
    \}\par
    slider.removeSlide = function(obj) \{\par
      var pos = (isNaN(obj)) ? slider.slides.index($(obj)) : obj;\par
      \par
      // update count\par
      slider.count -= 1;\par
      slider.last = slider.count - 1;\par
      \par
      // remove slide\par
      if (isNaN(obj)) \{\par
        $(obj, slider.slides).remove();\par
      \} else \{\par
        (vertical && reverse) ? slider.slides.eq(slider.last).remove() : slider.slides.eq(obj).remove();\par
      \}\par
      \par
      // update currentSlide, animatingTo, controlNav, and directionNav\par
      slider.doMath();\par
      slider.update(pos, "remove");\par
      \par
      // update slider.slides\par
      slider.slides = $(vars.selector + ':not(.clone)', slider);\par
      // re-setup the slider to accomdate new slide\par
      slider.setup();\par
      \par
      // FlexSlider: removed() Callback\par
      vars.removed(slider);\par
    \}\par
    \par
    //FlexSlider: Initialize\par
    methods.init();\par
  \}\par
  \par
  //FlexSlider: Default Settings\par
  $.flexslider.defaults = \{\par
    namespace: "flex-",             //\{NEW\} String: Prefix string attached to the class of every element generated by the plugin\par
    selector: ".slides > li",       //\{NEW\} Selector: Must match a simple pattern. '\{container\} > \{slide\}' -- Ignore pattern at your own peril\par
    animation: "fade",              //String: Select your animation type, "fade" or "slide"\par
    easing: "swing",               //\{NEW\} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!\par
    direction: "horizontal",        //String: Select the sliding direction, "horizontal" or "vertical"\par
    reverse: false,                 //\{NEW\} Boolean: Reverse the animation direction\par
    animationLoop: true,             //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end\par
    smoothHeight: false,            //\{NEW\} Boolean: Allow height of the slider to animate smoothly in horizontal mode  \par
    startAt: 0,                     //Integer: The slide that the slider should start on. Array notation (0 = first slide)\par
    slideshow: true,                //Boolean: Animate slider automatically\par
    slideshowSpeed: 7000,           //Integer: Set the speed of the slideshow cycling, in milliseconds\par
    animationSpeed: 600,            //Integer: Set the speed of animations, in milliseconds\par
    initDelay: 0,                   //\{NEW\} Integer: Set an initialization delay, in milliseconds\par
    randomize: false,               //Boolean: Randomize slide order\par
    \par
    // Usability features\par
    pauseOnAction: true,            //Boolean: Pause the slideshow when interacting with control elements, highly recommended.\par
    pauseOnHover: false,            //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering\par
    useCSS: true,                   //\{NEW\} Boolean: Slider will use CSS3 transitions if available\par
    touch: true,                    //\{NEW\} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices\par
    video: false,                   //\{NEW\} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches\par
    \par
    // Primary Controls\par
    controlNav: true,               //Boolean: Create navigation for paging control of each clide? Note: Leave true for manualControls usage\par
    directionNav: true,             //Boolean: Create navigation for previous/next navigation? (true/false)\par
    prevText: "Previous",           //String: Set the text for the "previous" directionNav item\par
    nextText: "Next",               //String: Set the text for the "next" directionNav item\par
    \par
    // Secondary Navigation\par
    keyboard: true,                 //Boolean: Allow slider navigating via keyboard left/right keys\par
    multipleKeyboard: false,        //\{NEW\} Boolean: Allow keyboard navigation to affect multiple sliders. Default behavior cuts out keyboard navigation with more than one slider present.\par
    mousewheel: false,              //\{UPDATED\} Boolean: Requires jquery.mousewheel.js (https://github.com/brandonaaron/jquery-mousewheel) - Allows slider navigating via mousewheel\par
    pausePlay: false,               //Boolean: Create pause/play dynamic element\par
    pauseText: "Pause",             //String: Set the text for the "pause" pausePlay item\par
    playText: "Play",               //String: Set the text for the "play" pausePlay item\par
    \par
    // Special properties\par
    controlsContainer: "",          //\{UPDATED\} jQuery Object/Selector: Declare which container the navigation elements should be appended too. Default container is the FlexSlider element. Example use would be $(".flexslider-container"). Property is ignored if given element is not found.\par
    manualControls: "",             //\{UPDATED\} jQuery Object/Selector: Declare custom control navigation. Examples would be $(".flex-control-nav li") or "#tabs-nav li img", etc. The number of elements in your controlNav should match the number of slides/tabs.\par
    sync: "",                       //\{NEW\} Selector: Mirror the actions performed on this slider with another slider. Use with care.\par
    asNavFor: "",                   //\{NEW\} Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider\par
    \par
    // Carousel Options\par
    itemWidth: 0,                   //\{NEW\} Integer: Box-model width of individual carousel items, including horizontal borders and padding.\par
    itemMargin: 0,                  //\{NEW\} Integer: Margin between carousel items.\par
    minItems: 0,                    //\{NEW\} Integer: Minimum number of carousel items that should be visible. Items will resize fluidly when below this.\par
    maxItems: 0,                    //\{NEW\} Integer: Maxmimum number of carousel items that should be visible. Items will resize fluidly when above this limit.\par
    move: 0,                        //\{NEW\} Integer: Number of carousel items that should move on animation. If 0, slider will move all visible items.\par
                                    \par
    // Callback API\par
    start: function()\{\},            //Callback: function(slider) - Fires when the slider loads the first slide\par
    before: function()\{\},           //Callback: function(slider) - Fires asynchronously with each slider animation\par
    after: function()\{\},            //Callback: function(slider) - Fires after each slider animation completes\par
    end: function()\{\},              //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)\par
    added: function()\{\},            //\{NEW\} Callback: function(slider) - Fires after a slide is added\par
    removed: function()\{\}           //\{NEW\} Callback: function(slider) - Fires after a slide is removed\par
  \}\par
\par
\par
  //FlexSlider: Plugin Function\par
  $.fn.flexslider = function(options) \{\par
    if (options === undefined) options = \{\};\par
    \par
    if (typeof options === "object") \{\par
      return this.each(function() \{\par
        var $this = $(this),\par
            selector = (options.selector) ? options.selector : ".slides > li",\par
            $slides = $this.find(selector);\par
\par
        if ($slides.length === 1) \{\par
          $slides.fadeIn(400);\par
          if (options.start) options.start($this);\par
        \} else if ($this.data('flexslider') === undefined) \{\par
          new $.flexslider(this, options);\par
        \}\par
      \});\par
    \} else \{\par
      // Helper strings to quickly perform functions on the slider\par
      var $slider = $(this).data('flexslider');\par
      switch (options) \{\par
        case "play": $slider.play(); break;\par
        case "pause": $slider.pause(); break;\par
        case "next": $slider.flexAnimate($slider.getTarget("next"), true); break;\par
        case "prev":\par
        case "previous": $slider.flexAnimate($slider.getTarget("prev"), true); break;\par
        default: if (typeof options === "number") $slider.flexAnimate(options, true);\par
      \}\par
    \}\par
  \}  \par
\par
\})(jQuery);\par
}
 